" Input: {
(target) - if specified, use info from 'machine' module
or
(host_os) - host OS (detect, if omitted)
(target_os) - target OS (detect, if omitted)
(target_device_id) - target device ID (detect, if omitted)
(data_uoa) or (uoa) - software UOA entry
or
(tags) - search UOA by tags (separated by comma)
(interactive) - if 'yes', and has questions, ask user
(quiet) - if 'yes', do not ask questions but select default value
(default_selection) - default value for the selection from the menu
(first_match) - in case of match ambiguity in menu selection, just take the first match
(skip_help) - if 'yes', skip print help if not detected (when called from env setup)
(deps) - already resolved deps (if called from env)
(dep_add_tags.{KEY}) - extra tags added to specific subdictionary of deps{} for this particular resolution session
(extra_version) - add extra version, when registering software
(for example, -trunk-20160421)
Be careful - if there is auto version detection,
CK will say that version has changed and will try to remove entry!
(extra_tags) - add extra tags to separate created entry from others
(for example Python 2.7 vs Anaconda Python 2.7)
(extra_name) - add extra name to soft (such as anaconda)
(force_env_data_uoa) - force which env UID to use when regstering detect software -
useful when reinstalling broken env entry to avoid breaking
all dependencies of other software ...
(search_dirs) - extra directories where to search soft (string separated by comma)
(search_dir) - search only in this directory (useful for Spack and EasyBuild)
(search_depth) - force directory recursive search depth when detecting installed software
(soft_name) - name to search explicitly
(version_from) - check version starting from ... (string or list of numbers)
(version_to) - check version up to ... (string list of numbers)
(full_path) - force full path (rather than searching in all directories)
}
Output: {
return - return code = 0, if successful
> 0, if error
(error) - error text if return > 0
path_install - path to the detected software
cus - dict with filled in info for the software
}
"